#pragma once
#include <fmod.hpp>
class SoundEffectHandler
{
public:
	static SoundEffectHandler* Instance() {
		if (!m_pInstance) {
			m_pInstance = new SoundEffectHandler();
		}
		return m_pInstance;
	}
	void PlayBGM();
	void PauseBGM();
	void PlaySplash();
	void PlayInstruction();
	void PlayLogo();
	void PauseInstruction(); 
	void PlayBullet();
	void PlayGameover();
	void Update();
private:
	SoundEffectHandler();
	~SoundEffectHandler() {}
	static SoundEffectHandler* m_pInstance;
	FMOD::System* m_pFmodSystem;
	FMOD::Sound* m_pStartSound;
	FMOD::Sound* m_pBackgroundSound;
	FMOD::Sound* m_pBulletSound;
	FMOD::Sound* m_pGameoverSound;
	FMOD::Sound* m_pGameoverSound2;
	FMOD::Sound* m_pInstructionSound;
	FMOD::Sound* m_pLogoSound;
	FMOD::Channel* m_pBackgroundChannel;
	FMOD::Channel* m_pInstructionChannel;
};

